/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managedbeans;

import javax.faces.component.UIData;
import java.util.List;
import controller.EspecialidadeControllerLocal;
import entities.EspecialidadeMedica;
import exception.EspecialidadeExistsException;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import static utils.MessagesUtil.*;

/**
 *
 * @author Sostenes, Thiago, Felipe
 */
@ManagedBean
@RequestScoped
public class EspecialidadeBean {

    @EJB
    private EspecialidadeControllerLocal especialidadeController;
    private EspecialidadeMedica especialidadeMedica;
    private List<EspecialidadeMedica> especialidades;
    private UIData table;

    

    @PostConstruct
    public void init() {
        especialidadeMedica = especialidadeController.createEspecialidade();
    }

    public String create() {
        try {
            especialidadeController.persist(especialidadeMedica);
        } catch (EspecialidadeExistsException ex) {
            addErrorMessage(ex, "createEspecialidade:nome");
            return "createEspecialidade";
        }
        return "especialidadeCreated";
    }

    public String remove() {
        especialidadeController.remove((EspecialidadeMedica) table.getRowData());
        return "listEspecialidade";
    }

    public EspecialidadeMedica getEspecialidadeMedica() {
        return this.especialidadeMedica;
    }


    public List<EspecialidadeMedica> getEspecialidades() {
        especialidades = especialidadeController.list();
        return especialidades;
    }

    public UIData getTable() {
        return table;
    }

    public void setTable(UIData table) {
        this.table = table;
    }



    @PreDestroy
    public void clear() {
        especialidadeController = null;
        especialidadeMedica = null;
    }
}
